package org.jeecgframework.web.system.pojo.base;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;

/**   
 * @Title: Entity
 * @Description: 设备以及备件信息
 * @author onlineGenerator
 * @date 2016-03-28 15:31:44
 * @version V1.0   
 *
 */
@Entity
@Table(name = "zy_equipment_spare_his", schema = "")
@SuppressWarnings("serial")
public class ZyEquipmentSpareHisEntity implements java.io.Serializable {
	/**主键*/
	private java.lang.String id;
	/**序列号SN*/
	@Excel(name="序列号SN")
	private java.lang.String sn;
	/**item*/
	@Excel(name="item")
	private java.lang.String item;
	/**备件所属设备SN*/
	@Excel(name="备件所属设备SN")
	private java.lang.String topItemSn;
	/**商务合作对象编号*/
	@Excel(name="商务合作对象编号")
	private java.lang.String bpNo;
	/**类别 型号*/
	@Excel(name="机型")
	private ZyEquipmentTypeEntity type;
	/**所属影院ID*/
	@Excel(name="所属影院ID")
	private ZyCinemaEntity zyCinema;
	/**所属机构ID*/
	@Excel(name="所属机构ID")
	private TSDepart tsDepart;
	/**放映厅*/
	@Excel(name="放映厅")
	private ZyRoomEntity house;
	/**安装日期*/
	@Excel(name="安装日期")
	private java.util.Date installDate;
	/**基本保修期*/
	@Excel(name="基本保修期")
	private java.util.Date baseRepairDate;
	/**发货日期*/
	@Excel(name="发货日期")
	private java.util.Date sendDate;
	/**保修截止日期*/
	@Excel(name="保修截止日期")
	private java.util.Date repairEndDate;
	/**服务状态*/
	@Excel(name="服务状态")
	private java.lang.String serverState;
	/**服务状态 实际值 - 临时用*/
	private String serverStateVal;
	/**备注*/
	@Excel(name="备注")
	private java.lang.String remarks;
	/**是否异常*/
	@Excel(name="是否异常")
	private String isNormal;
	/**异常原因*/
	@Excel(name="异常原因")
	private java.lang.String exceptionReason;
	/**所在省市*/
	@Excel(name="所在省市")
	private TSTerritory tsTerritory;
	//省-市
	private String tsTerritoryVal;
	/**去年巡检日期*/
	@Excel(name="去年巡检日期")
	private java.util.Date lastYearInspectionDate;
	/**是否有巡检计划*/
	@Excel(name="是否有巡检计划")
	private String isHadInspection;
	/**激光改造*/
	@Excel(name="激光改造")
	private String laserReconstruction;
	/**是否已维护保期**/
	@Excel(name="是否已维护保期")
	private String isServicing;
	/**是否是备件**/
	@Excel(name="是否是备件")
	private Boolean isSpare;
	/**所有方式**/
	@Excel(name="所有方式")
	private String ownWay;
	/**创建人名称*/
	private java.lang.String createName;
	/**创建人登录名称*/
	private java.lang.String createBy;
	/**创建日期*/
	private java.util.Date createDate;
	/**更新人名称*/
	private java.lang.String updateName;
	/**更新人登录名称*/
	private java.lang.String updateBy;
	/**更新日期*/
	private java.util.Date updateDate;
	
	private String busId;
	
	private String dataStatus;
	
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  主键
	 */
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name ="ID",nullable=false,length=36)
	public java.lang.String getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  主键
	 */
	public void setId(java.lang.String id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  序列号SN
	 */
	@Column(name ="SN",nullable=true,length=50)
	public java.lang.String getSn(){
		return this.sn;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  序列号SN
	 */
	public void setSn(java.lang.String sn){
		this.sn = sn;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  备件
	 */
	@Column(name ="ITEM",nullable=true,length=100)
	public java.lang.String getItem(){
		return this.item;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  备件
	 */
	public void setItem(java.lang.String item){
		this.item = item;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  备件所属设备SN
	 */
	@Column(name ="TOP_ITEM_SN",nullable=true,length=50)
	public java.lang.String getTopItemSn(){
		return this.topItemSn;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  备件所属设备SN
	 */
	public void setTopItemSn(java.lang.String topItemSn){
		this.topItemSn = topItemSn;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  商务合作对象编号
	 */
	@Column(name ="BP_NO",nullable=true,length=50)
	public java.lang.String getBpNo(){
		return this.bpNo;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  商务合作对象编号
	 */
	public void setBpNo(java.lang.String bpNo){
		this.bpNo = bpNo;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  类别
	 */
	@ManyToOne(cascade=CascadeType.DETACH,fetch=FetchType.EAGER)
    @JoinColumn(name="TYPE")
	public ZyEquipmentTypeEntity getType() {
		return type;
	}
	
	public void setType(ZyEquipmentTypeEntity type) {
		this.type = type;
	}
	
	
	/**
	 * @return the zyCinema
	 */
	@ManyToOne(cascade=CascadeType.DETACH,fetch=FetchType.EAGER)
    @JoinColumn(name="BELONG_CINEMA_ID")
	public ZyCinemaEntity getZyCinema() {
		return zyCinema;
	}


	/**
	 * @param zyCinema the zyCinema to set
	 */
	public void setZyCinema(ZyCinemaEntity zyCinema) {
		this.zyCinema = zyCinema;
	}

	
	/**
	 * @return the tsDepart
	 */
	@ManyToOne(cascade=CascadeType.DETACH,fetch=FetchType.EAGER)
    @JoinColumn(name="BELONG_ORG_ID")
	public TSDepart getTsDepart() {
		return tsDepart;
	}

	/**
	 * @param tsDepart the tsDepart to set
	 */
	public void setTsDepart(TSDepart tsDepart) {
		this.tsDepart = tsDepart;
	}

	
	/**
	 * @return the tsTerritory
	 */
	@ManyToOne(cascade=CascadeType.DETACH,fetch=FetchType.EAGER)
    @JoinColumn(name="CITY_ID")
	public TSTerritory getTsTerritory() {
		return tsTerritory;
	}

	/**
	 * @param tsTerritory the tsTerritory to set
	 */
	public void setTsTerritory(TSTerritory tsTerritory) {
		this.tsTerritory = tsTerritory;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  放映厅
	 */
	@ManyToOne(cascade=CascadeType.DETACH,fetch=FetchType.EAGER)
    @JoinColumn(name="HOUSE")
	public ZyRoomEntity getHouse(){
		return this.house;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  放映厅
	 */
	public void setHouse(ZyRoomEntity house){
		this.house = house;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  安装日期
	 */
	@Column(name ="INSTALL_DATE",nullable=true,length=32)
	public java.util.Date getInstallDate(){
		return this.installDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  安装日期
	 */
	public void setInstallDate(java.util.Date installDate){
		this.installDate = installDate;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  基本保修期
	 */
	@Column(name ="BASE_REPAIR_DATE",nullable=true,length=32)
	public java.util.Date getBaseRepairDate(){
		return this.baseRepairDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  基本保修期
	 */
	public void setBaseRepairDate(java.util.Date baseRepairDate){
		this.baseRepairDate = baseRepairDate;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  发货日期
	 */
	@Column(name ="SEND_DATE",nullable=true,length=32)
	public java.util.Date getSendDate(){
		return this.sendDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  发货日期
	 */
	public void setSendDate(java.util.Date sendDate){
		this.sendDate = sendDate;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  保修截止日期
	 */
	@Column(name ="REPAIR_END_DATE",nullable=true,length=32)
	public java.util.Date getRepairEndDate(){
		return this.repairEndDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  保修截止日期
	 */
	public void setRepairEndDate(java.util.Date repairEndDate){
		this.repairEndDate = repairEndDate;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  服务状态
	 */
	@Column(name ="SERVER_STATE",nullable=true,length=32)
	public java.lang.String getServerState(){
		return this.serverState;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  服务状态
	 */
	public void setServerState(java.lang.String serverState){
		this.serverState = serverState;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  备注
	 */
	@Column(name ="REMARKS",nullable=true,length=500)
	public java.lang.String getRemarks(){
		return this.remarks;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  备注
	 */
	public void setRemarks(java.lang.String remarks){
		this.remarks = remarks;
	}
	/**
	 *方法: 取得String
	 *@return: String  是否异常
	 */
	@Column(name ="IS_NORMAL",nullable=true,length=1)
	public String getIsNormal(){
		return this.isNormal;
	}

	/**
	 *方法: 设置String
	 *@param: String  是否异常
	 */
	public void setIsNormal(String isNormal){
		this.isNormal = isNormal;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  异常原因
	 */
	@Column(name ="EXCEPTION_REASON",nullable=true,length=1000)
	public java.lang.String getExceptionReason(){
		return this.exceptionReason;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  异常原因
	 */
	public void setExceptionReason(java.lang.String exceptionReason){
		this.exceptionReason = exceptionReason;
	}
	
	
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  所在省市
	 *//*
	@Column(name ="CITY_ID",nullable=true,length=36)
	public java.lang.String getCityId(){
		return this.cityId;
	}

	*//**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  所在省市
	 *//*
	public void setCityId(java.lang.String cityId){
		this.cityId = cityId;
	}*/
	
	
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  去年巡检日期
	 */
	@Column(name ="LAST_YEAR_INSPECTION_DATE",nullable=true,length=32)
	public java.util.Date getLastYearInspectionDate(){
		return this.lastYearInspectionDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  去年巡检日期
	 */
	public void setLastYearInspectionDate(java.util.Date lastYearInspectionDate){
		this.lastYearInspectionDate = lastYearInspectionDate;
	}
	/**
	 *方法: 取得String
	 *@return: String  是否有巡检计划
	 */
	@Column(name ="IS_HAD_INSPECTION",nullable=true,length=32)
	public String getIsHadInspection(){
		return this.isHadInspection;
	}

	/**
	 *方法: 设置String
	 *@param: String  是否有巡检计划
	 */
	public void setIsHadInspection(String isHadInspection){
		this.isHadInspection = isHadInspection;
	}
	/**
	 *方法: 取得String
	 *@return: String  激光改造
	 */
	@Column(name ="LASER_RECONSTRUCTION",nullable=true,length=32)
	public String getLaserReconstruction(){
		return this.laserReconstruction;
	}

	/**
	 *方法: 设置String
	 *@param: String  激光改造
	 */
	public void setLaserReconstruction(String laserReconstruction){
		this.laserReconstruction = laserReconstruction;
	}
	

	/**
	 *方法: 取得String
	 *@return: String  是否已维护保期
	 */
	@Column(name ="IS_SERVICING",nullable=true,length=32)
	public String getIsServicing() {
		return isServicing;
	}

	/**
	 *方法: 设置String
	 *@param: String  是否已维护保期
	 */
	public void setIsServicing(String isServicing) {
		this.isServicing = isServicing;
	}
	
	
	/**
	 *方法: 取得String
	 *@return: String  所有方式
	*/
	@Column(name ="OWN_WAY",nullable=true,length=32)
	public String getOwnWay() {
		return ownWay;
	}

	/**
	 *方法: 设置String
	 *@param: String  所有方式
	*/
	public void setOwnWay(String ownWay) {
		this.ownWay = ownWay;
	}
	
	/**
	 *方法: 取得Boolean
	 *@return: Boolean  是否是备件
	 */
	@Column(name ="IS_SPARE",nullable=true,length=32)
	public Boolean getIsSpare() {
		return isSpare;
	}

	/**
	 *方法: 设置Boolean
	 *@param: Boolean  是否已维护保期
	 */
	public void setIsSpare(Boolean isSpare) {
		this.isSpare = isSpare;
	}

	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人名称
	 */
	@Column(name ="CREATE_NAME",nullable=true,length=50)
	public java.lang.String getCreateName(){
		return this.createName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人名称
	 */
	public void setCreateName(java.lang.String createName){
		this.createName = createName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人登录名称
	 */
	@Column(name ="CREATE_BY",nullable=true,length=50)
	public java.lang.String getCreateBy(){
		return this.createBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人登录名称
	 */
	public void setCreateBy(java.lang.String createBy){
		this.createBy = createBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  创建日期
	 */
	@Column(name ="CREATE_DATE",nullable=true,length=20)
	public java.util.Date getCreateDate(){
		return this.createDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  创建日期
	 */
	public void setCreateDate(java.util.Date createDate){
		this.createDate = createDate;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人名称
	 */
	@Column(name ="UPDATE_NAME",nullable=true,length=50)
	public java.lang.String getUpdateName(){
		return this.updateName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人名称
	 */
	public void setUpdateName(java.lang.String updateName){
		this.updateName = updateName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人登录名称
	 */
	@Column(name ="UPDATE_BY",nullable=true,length=50)
	public java.lang.String getUpdateBy(){
		return this.updateBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人登录名称
	 */
	public void setUpdateBy(java.lang.String updateBy){
		this.updateBy = updateBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  更新日期
	 */
	@Column(name ="UPDATE_DATE",nullable=true,length=20)
	public java.util.Date getUpdateDate(){
		return this.updateDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  更新日期
	 */
	public void setUpdateDate(java.util.Date updateDate){
		this.updateDate = updateDate;
	}
	
	
	@Column(name ="bus_id",nullable=true,length=20)
	public String getBusId() {
		return busId; 
	}

	public void setBusId(String busId) {
		this.busId = busId;
	}
	@Column(name ="data_status",nullable=true,length=20)
	public String getDataStatus() {
		return dataStatus;
	}

	public void setDataStatus(String dataStatus) {
		this.dataStatus = dataStatus;
	}

	@Transient
	public String getServerStateVal() {
		return serverStateVal;
	}
	public void setServerStateVal(String serverStateVal) {
		this.serverStateVal = serverStateVal;
	}
	@Transient
	public String getTsTerritoryVal() {
		return tsTerritoryVal;
	}
	public void setTsTerritoryVal(String tsTerritoryVal) {
		this.tsTerritoryVal = tsTerritoryVal;
	}
	
	
	
}
